#ifndef A380SecComputer_h_
#define A380SecComputer_h_
#include "rtwtypes.h"
#include "A380SecComputer_types.h"
#include "A380LateralDirectLaw.h"
#include "A380PitchDirectLaw.h"

extern base_sec_analog_outputs rtP_sec_analog_output_MATLABStruct;
extern base_sec_laws_outputs rtP_sec_laws_output_MATLABStruct;
extern base_sec_discrete_outputs rtP_sec_discrete_output_MATLABStruct;
class A380SecComputer final
{
 public:
  struct rtDW_RateLimiter_A380SecComputer_T {
    real_T pY;
    boolean_T pY_not_empty;
  };

  struct rtDW_RateLimiter_A380SecComputer_o_T {
    real_T pY;
    boolean_T pY_not_empty;
  };

  struct rtDW_MATLABFunction_A380SecComputer_e_T {
    boolean_T previousInput;
    boolean_T previousInput_not_empty;
  };

  struct rtDW_MATLABFunction_A380SecComputer_c_T {
    real_T timeSinceCondition;
    boolean_T output;
  };

  struct BlockIO_A380SecComputer_T {
    base_sec_logic_outputs logic;
    base_sec_laws_outputs laws;
    real_T dt;
    real_T simulation_time;
    real_T irdc_5_a_bus;
    real_T irdc_5_b_bus;
    real_T capt_pitch_stick_pos;
    real_T fo_pitch_stick_pos;
    real_T capt_roll_stick_pos;
    real_T fo_roll_stick_pos;
    real_T elevator_1_pos_deg;
    real_T elevator_2_pos_deg;
    real_T monotonic_time;
    real_T elevator_3_pos_deg;
    real_T ths_pos_deg;
    real_T left_aileron_1_pos_deg;
    real_T left_aileron_2_pos_deg;
    real_T right_aileron_1_pos_deg;
    real_T right_aileron_2_pos_deg;
    real_T left_spoiler_1_pos_deg;
    real_T right_spoiler_1_pos_deg;
    real_T left_spoiler_2_pos_deg;
    real_T right_spoiler_2_pos_deg;
    real_T rudder_1_pos_deg;
    real_T rudder_2_pos_deg;
    real_T rudder_pedal_pos_deg;
    real_T rudder_trim_actual_pos_deg;
    uint32_T SSM;
    uint32_T SSM_k;
    uint32_T SSM_kx;
    uint32_T SSM_kxx;
    uint32_T SSM_kxxt;
    uint32_T SSM_kxxta;
    uint32_T SSM_kxxtac;
    uint32_T SSM_kxxtac0;
    uint32_T SSM_kxxtac0z;
    uint32_T SSM_kxxtac0zt;
    uint32_T SSM_kxxtac0ztg;
    uint32_T SSM_kxxtac0ztgf;
    uint32_T SSM_kxxtac0ztgf2;
    uint32_T SSM_kxxtac0ztgf2u;
    uint32_T SSM_kxxtac0ztgf2ux;
    uint32_T SSM_kxxtac0ztgf2uxn;
    uint32_T SSM_ky;
    uint32_T SSM_d;
    uint32_T SSM_h;
    uint32_T SSM_kb;
    uint32_T SSM_p;
    uint32_T SSM_di;
    uint32_T SSM_j;
    uint32_T SSM_i;
    uint32_T SSM_g;
    uint32_T SSM_db;
    uint32_T SSM_n;
    uint32_T SSM_a;
    uint32_T SSM_ir;
    uint32_T SSM_hu;
    uint32_T SSM_e;
    uint32_T SSM_gr;
    uint32_T SSM_ev;
    uint32_T SSM_l;
    uint32_T SSM_ei;
    uint32_T SSM_an;
    uint32_T SSM_c;
    uint32_T SSM_cb;
    uint32_T SSM_lb;
    uint32_T SSM_ia;
    uint32_T SSM_kyz;
    uint32_T SSM_as;
    uint32_T SSM_is;
    uint32_T SSM_ca;
    uint32_T SSM_o;
    uint32_T SSM_ak;
    uint32_T SSM_cbj;
    uint32_T SSM_cu;
    uint32_T SSM_nn;
    uint32_T SSM_b;
    uint32_T SSM_m;
    uint32_T SSM_f;
    uint32_T SSM_bp;
    uint32_T SSM_hb;
    uint32_T SSM_gz;
    uint32_T SSM_pv;
    uint32_T SSM_mf;
    uint32_T SSM_m0;
    uint32_T SSM_kd;
    uint32_T SSM_pu;
    uint32_T SSM_nv;
    uint32_T SSM_d5;
    uint32_T SSM_eo;
    uint32_T SSM_nd;
    uint32_T SSM_bq;
    uint32_T SSM_hi;
    uint32_T SSM_mm;
    uint32_T SSM_kz;
    uint32_T SSM_il;
    uint32_T SSM_i2;
    uint32_T SSM_ah;
    uint32_T SSM_en;
    uint32_T SSM_dq;
    uint32_T SSM_px;
    uint32_T SSM_lbo;
    uint32_T SSM_p5;
    uint32_T SSM_mk;
    uint32_T SSM_mu;
    uint32_T SSM_cbl;
    uint32_T SSM_gzd;
    uint32_T SSM_mo;
    uint32_T SSM_me;
    uint32_T SSM_mj;
    uint32_T SSM_a5;
    uint32_T SSM_bt;
    uint32_T SSM_om;
    uint32_T SSM_ar;
    uint32_T SSM_ce;
    uint32_T SSM_ed;
    uint32_T SSM_jh;
    uint32_T SSM_je;
    uint32_T SSM_jt;
    uint32_T SSM_cui;
    uint32_T SSM_mq;
    uint32_T SSM_ni;
    uint32_T SSM_df;
    uint32_T SSM_oe;
    uint32_T SSM_ha;
    uint32_T SSM_op;
    uint32_T SSM_a50;
    uint32_T SSM_og;
    uint32_T SSM_a4;
    uint32_T SSM_bv;
    uint32_T SSM_bo;
    uint32_T SSM_d1;
    uint32_T SSM_hy;
    uint32_T SSM_gi;
    uint32_T SSM_pp;
    uint32_T SSM_iab;
    uint32_T SSM_jtv;
    uint32_T SSM_fy;
    uint32_T SSM_d4;
    uint32_T SSM_ars;
    uint32_T SSM_din;
    uint32_T SSM_m3;
    uint32_T SSM_np;
    uint32_T SSM_ax;
    uint32_T SSM_cl;
    uint32_T SSM_es;
    uint32_T SSM_gi1;
    uint32_T SSM_jz;
    uint32_T SSM_kt;
    uint32_T SSM_ds;
    uint32_T SSM_eg;
    uint32_T SSM_a0;
    uint32_T SSM_cv;
    uint32_T SSM_ea;
    uint32_T SSM_p4;
    uint32_T SSM_m2;
    uint32_T SSM_bt0;
    uint32_T SSM_nr;
    uint32_T SSM_fr;
    uint32_T SSM_cc;
    uint32_T SSM_lm;
    uint32_T SSM_mkm;
    uint32_T SSM_jhd;
    uint32_T SSM_av;
    uint32_T SSM_ira;
    uint32_T SSM_ge;
    uint32_T SSM_lv;
    uint32_T SSM_cg;
    uint32_T SSM_be;
    uint32_T SSM_axb;
    uint32_T SSM_nz;
    uint32_T SSM_cx;
    uint32_T SSM_gh;
    uint32_T SSM_ks;
    uint32_T SSM_pw;
    uint32_T SSM_fh;
    uint32_T SSM_gzn;
    uint32_T SSM_oo;
    uint32_T SSM_evh;
    uint32_T SSM_cn;
    uint32_T SSM_co;
    uint32_T SSM_pe;
    uint32_T SSM_cgz;
    uint32_T SSM_fw;
    uint32_T SSM_h4;
    uint32_T SSM_cb3;
    uint32_T SSM_pj;
    uint32_T SSM_dv;
    uint32_T SSM_i4;
    uint32_T SSM_fm;
    uint32_T SSM_e5;
    uint32_T SSM_bf;
    uint32_T SSM_fd;
    uint32_T SSM_fv;
    uint32_T SSM_dt;
    uint32_T SSM_j5;
    uint32_T SSM_ng;
    uint32_T SSM_cs;
    uint32_T SSM_ls;
    uint32_T SSM_dg;
    uint32_T SSM_d3;
    uint32_T SSM_p2;
    uint32_T SSM_bo0;
    uint32_T SSM_bc;
    uint32_T SSM_h0;
    uint32_T SSM_giz;
    uint32_T SSM_mqp;
    uint32_T SSM_ba;
    uint32_T SSM_in;
    uint32_T SSM_ff;
    uint32_T SSM_ic;
    uint32_T SSM_fs;
    uint32_T SSM_ja;
    uint32_T SSM_js;
    uint32_T SSM_is3;
    uint32_T SSM_ag;
    uint32_T SSM_f5;
    uint32_T SSM_ph;
    uint32_T SSM_jw;
    uint32_T SSM_jy;
    uint32_T SSM_j1;
    uint32_T SSM_ov;
    uint32_T SSM_mx;
    uint32_T SSM_b4;
    uint32_T SSM_gb;
    uint32_T SSM_oh;
    uint32_T SSM_mm5;
    uint32_T SSM_br;
    uint32_T SSM_c2;
    uint32_T SSM_hc;
    uint32_T SSM_ktr;
    uint32_T SSM_gl;
    uint32_T SSM_my;
    uint32_T SSM_j3;
    uint32_T SSM_go;
    uint32_T SSM_e5c;
    uint32_T SSM_dk;
    uint32_T SSM_evc;
    uint32_T SSM_kk;
    uint32_T SSM_af;
    uint32_T SSM_npr;
    uint32_T SSM_ew;
    uint32_T SSM_lt;
    uint32_T SSM_ger;
    uint32_T SSM_pxo;
    uint32_T SSM_co2;
    uint32_T SSM_ny;
    uint32_T SSM_l4;
    uint32_T SSM_nm;
    uint32_T SSM_nh;
    uint32_T SSM_dl;
    uint32_T SSM_dx;
    uint32_T SSM_a5h;
    uint32_T SSM_fl;
    uint32_T SSM_p3;
    uint32_T SSM_ns;
    uint32_T SSM_bm;
    uint32_T SSM_nl;
    uint32_T SSM_grm;
    uint32_T SSM_gzm;
    uint32_T SSM_oi;
    uint32_T SSM_aa;
    uint32_T SSM_fvk;
    uint32_T SSM_lw;
    uint32_T SSM_fa;
    uint32_T SSM_lbx;
    uint32_T SSM_n3;
    uint32_T SSM_a1;
    uint32_T SSM_p1;
    uint32_T SSM_cn2;
    uint32_T SSM_an3;
    uint32_T SSM_c3;
    uint32_T SSM_dp;
    uint32_T SSM_boy;
    uint32_T SSM_lg;
    uint32_T SSM_cm;
    uint32_T SSM_hl;
    uint32_T SSM_irh;
    uint32_T SSM_b42;
    uint32_T SSM_anz;
    uint32_T SSM_d2;
    uint32_T SSM_gov;
    uint32_T SSM_nb;
    uint32_T SSM_pe3;
    uint32_T SSM_jj;
    uint32_T SSM_jx;
    uint32_T SSM_npl;
    uint32_T SSM_gf;
    uint32_T SSM_gbi;
    uint32_T SSM_fhm;
    uint32_T SSM_ltj;
    uint32_T SSM_hn;
    uint32_T SSM_h3;
    uint32_T SSM_bfs;
    uint32_T SSM_p0;
    uint32_T SSM_fu;
    uint32_T SSM_hr;
    uint32_T SSM_bi;
    uint32_T SSM_bd;
    uint32_T SSM_omt;
    uint32_T SSM_la;
    uint32_T SSM_l1;
    uint32_T SSM_dy;
    uint32_T SSM_ie;
    uint32_T SSM_kf;
    uint32_T SSM_p5l;
    uint32_T SSM_g3;
    uint32_T SSM_b3;
    uint32_T SSM_dxv;
    uint32_T SSM_mxz;
    uint32_T SSM_kk4;
    uint32_T SSM_cy;
    uint32_T SSM_ju;
    uint32_T SSM_ey;
    uint32_T SSM_jr;
    uint32_T SSM_hs;
    uint32_T SSM_mx3;
    uint32_T SSM_er;
    uint32_T SSM_hm;
    uint32_T SSM_dm;
    uint32_T SSM_fk;
    uint32_T SSM_lm1;
    uint32_T SSM_nc;
    uint32_T SSM_e4;
    uint32_T SSM_bw;
    uint32_T SSM_na;
    uint32_T SSM_lf;
    uint32_T SSM_oz;
    uint32_T SSM_mub;
    uint32_T SSM_li;
    uint32_T SSM_hcd;
    uint32_T SSM_php;
    uint32_T SSM_ma;
    uint32_T SSM_jut;
    uint32_T SSM_kh;
    uint32_T SSM_h2;
    uint32_T SSM_ago;
    uint32_T SSM_ep;
    uint32_T SSM_kc;
    uint32_T SSM_cnf;
    uint32_T SSM_lwa;
    uint32_T SSM_aq;
    uint32_T SSM_ja2;
    real32_T Data;
    real32_T Data_f;
    real32_T Data_fw;
    real32_T Data_fwx;
    real32_T Data_fwxk;
    real32_T Data_fwxkf;
    real32_T Data_fwxkft;
    real32_T Data_fwxkftc;
    real32_T Data_fwxkftc3;
    real32_T Data_fwxkftc3e;
    real32_T Data_fwxkftc3ep;
    real32_T Data_fwxkftc3epg;
    real32_T Data_fwxkftc3epgt;
    real32_T Data_fwxkftc3epgtd;
    real32_T Data_fwxkftc3epgtdx;
    real32_T Data_fwxkftc3epgtdxc;
    real32_T Data_h;
    real32_T Data_e;
    real32_T Data_j;
    real32_T Data_d;
    real32_T Data_p;
    real32_T Data_i;
    real32_T Data_g;
    real32_T Data_a;
    real32_T Data_eb;
    real32_T Data_jo;
    real32_T Data_ex;
    real32_T Data_fd;
    real32_T Data_ja;
    real32_T Data_k;
    real32_T Data_joy;
    real32_T Data_h3;
    real32_T Data_a0;
    real32_T Data_b;
    real32_T Data_eq;
    real32_T Data_iz;
    real32_T Data_j2;
    real32_T Data_o;
    real32_T Data_m;
    real32_T Data_oq;
    real32_T Data_fo;
    real32_T Data_p1;
    real32_T Data_p1y;
    real32_T Data_l;
    real32_T Data_kp;
    real32_T Data_k0;
    real32_T Data_pi;
    real32_T Data_dm;
    real32_T Data_f5;
    real32_T Data_js;
    real32_T Data_ee;
    real32_T Data_ig;
    real32_T Data_mk;
    real32_T Data_pu;
    real32_T Data_ly;
    real32_T Data_jq;
    real32_T Data_o5;
    real32_T Data_lyw;
    real32_T Data_gq;
    real32_T Data_n;
    real32_T Data_bq;
    real32_T Data_dmn;
    real32_T Data_jn;
    real32_T Data_c;
    real32_T Data_lx;
    real32_T Data_jb;
    real32_T Data_fn;
    real32_T Data_od;
    real32_T Data_ez;
    real32_T Data_pw;
    real32_T Data_m2;
    real32_T Data_ek;
    real32_T Data_iy;
    real32_T Data_lk;
    real32_T Data_ca;
    real32_T Data_pix;
    real32_T Data_di;
    real32_T Data_lz;
    real32_T Data_lu;
    real32_T Data_dc;
    real32_T Data_gc;
    real32_T Data_am;
    real32_T Data_mo;
    real32_T Data_dg;
    real32_T Data_e1;
    real32_T Data_fp;
    real32_T Data_ns;
    real32_T Data_m3;
    real32_T Data_oj;
    real32_T Data_jy;
    real32_T Data_j1;
    real32_T Data_fc;
    real32_T Data_of;
    real32_T Data_lg;
    real32_T Data_n4;
    real32_T Data_ot;
    real32_T Data_gv;
    real32_T Data_ou;
    real32_T Data_dh;
    real32_T Data_ph;
    real32_T Data_gs;
    real32_T Data_fd4;
    real32_T Data_hm;
    real32_T Data_i2;
    real32_T Data_og;
    real32_T Data_fv;
    real32_T Data_oc;
    real32_T Data_kq;
    real32_T Data_ne;
    real32_T Data_it;
    real32_T Data_ch;
    real32_T Data_bb;
    real32_T Data_ol;
    real32_T Data_hw;
    real32_T Data_hs;
    real32_T Data_fj;
    real32_T Data_ky;
    real32_T Data_h5;
    real32_T Data_ku;
    real32_T Data_jp;
    real32_T Data_nu;
    real32_T Data_br;
    real32_T Data_ae;
    real32_T Data_pe;
    real32_T Data_fy;
    real32_T Data_na;
    real32_T Data_my;
    real32_T Data_i4;
    real32_T Data_cx;
    real32_T Data_nz;
    real32_T Data_id;
    real32_T Data_o2;
    real32_T Data_gqq;
    real32_T Data_md;
    real32_T Data_cz;
    real32_T Data_pm;
    real32_T Data_bj;
    real32_T Data_ox;
    real32_T Data_pe5;
    real32_T Data_jj;
    real32_T Data_p5;
    real32_T Data_ekl;
    real32_T Data_nd;
    real32_T Data_n2;
    real32_T Data_dl;
    real32_T Data_gs2;
    real32_T Data_h4;
    real32_T Data_e3;
    real32_T Data_f5h;
    real32_T Data_an;
    real32_T Data_i4o;
    real32_T Data_af;
    real32_T Data_bm;
    real32_T Data_dk;
    real32_T Data_nv;
    real32_T Data_jpf;
    real32_T Data_i5;
    real32_T Data_k2;
    real32_T Data_as;
    real32_T Data_gk;
    real32_T Data_jl;
    real32_T Data_e32;
    real32_T Data_ih;
    real32_T Data_du;
    real32_T Data_nx;
    real32_T Data_n0;
    real32_T Data_eqi;
    real32_T Data_om;
    real32_T Data_nr;
    real32_T Data_p3;
    real32_T Data_nb;
    real32_T Data_hd;
    real32_T Data_al;
    real32_T Data_gu;
    real32_T Data_ix;
    real32_T Data_do;
    real32_T Data_hu;
    real32_T Data_pm1;
    real32_T Data_i2y;
    real32_T Data_pg;
    real32_T Data_ni;
    real32_T Data_fr;
    real32_T Data_cn;
    real32_T Data_nxl;
    real32_T Data_jh;
    real32_T Data_gl;
    real32_T Data_gn;
    real32_T Data_myb;
    real32_T Data_l2;
    real32_T Data_o5o;
    real32_T Data_l5;
    real32_T Data_dc2;
    real32_T Data_gr;
    real32_T Data_gp;
    real32_T Data_i3;
    real32_T Data_et;
    real32_T Data_mc;
    real32_T Data_k3;
    real32_T Data_f2;
    real32_T Data_gh;
    real32_T Data_ed;
    real32_T Data_o2j;
    real32_T Data_i43;
    real32_T Data_ic;
    real32_T Data_ak;
    real32_T Data_jg;
    real32_T Data_cu;
    real32_T Data_ep;
    real32_T Data_d3;
    real32_T Data_bt;
    real32_T Data_e0;
    real32_T Data_jl3;
    real32_T Data_nm;
    real32_T Data_ia;
    real32_T Data_j0;
    real32_T Data_bs;
    real32_T Data_hp;
    real32_T Data_ct;
    real32_T Data_pc;
    real32_T Data_nzt;
    real32_T Data_c0;
    real32_T Data_ojg;
    real32_T Data_lm;
    real32_T Data_fz;
    real32_T Data_oz;
    real32_T Data_gf;
    real32_T Data_nn;
    real32_T Data_a0z;
    real32_T Data_fk;
    real32_T Data_bu;
    real32_T Data_o23;
    real32_T Data_g3;
    real32_T Data_icc;
    real32_T Data_pwf;
    real32_T Data_gvk;
    real32_T Data_ln;
    real32_T Data_ka;
    real32_T Data_mp;
    real32_T Data_m4;
    real32_T Data_fki;
    real32_T Data_bv;
    real32_T Data_m21;
    real32_T Data_nbg;
    real32_T Data_l25;
    real32_T Data_ki;
    real32_T Data_p5p;
    real32_T Data_nry;
    real32_T Data_mh;
    real32_T Data_ll;
    real32_T Data_hy;
    real32_T Data_j04;
    real32_T Data_pf;
    real32_T Data_pl;
    real32_T Data_gb;
    real32_T Data_hq;
    real32_T Data_ai;
    real32_T Data_gfr;
    real32_T Data_czp;
    real32_T Data_fm;
    real32_T Data_jsg;
    real32_T Data_g1;
    real32_T Data_j4;
    real32_T Data_jyh;
    real32_T Data_e4;
    real32_T Data_ghs;
    real32_T Data_bmk;
    real32_T Data_lzt;
    real32_T Data_kn;
    real32_T Data_nab;
    real32_T Data_lgf;
    real32_T Data_fpq;
    real32_T Data_dt;
    real32_T Data_b1;
    real32_T Data_nmr;
    real32_T Data_ea;
    real32_T Data_nib;
    real32_T Data_i2t;
    real32_T Data_ng;
    real32_T Data_h31;
    real32_T Data_ew;
    real32_T Data_j1s;
    real32_T Data_j5;
    real32_T Data_cw;
    real32_T Data_gqa;
    real32_T Data_hz;
    real32_T Data_fri;
    real32_T Data_cm;
    real32_T Data_czj;
    real32_T Data_mb;
    real32_T Data_gk4;
    real32_T Data_gbt;
    real32_T Data_p0;
    real32_T Data_dn;
    real32_T Data_iyw;
    real32_T Data_p5d;
    real32_T Data_oo;
    real32_T Data_ho;
    real32_T Data_kqr;
    real32_T Data_omv;
    real32_T Data_mby;
    real32_T Data_hk;
    real32_T Data_hg;
    real32_T Data_bi;
    real32_T Data_i4u;
    real32_T Data_ik;
    real32_T Data_dq;
    real32_T Data_pv;
    real32_T Data_p1d;
    real32_T Data_lyv;
    real32_T Data_ke;
    real32_T Data_cv;
    real32_T Data_pfh;
    real32_T Data_jy4;
    real32_T Data_o1;
    real32_T Data_ga;
    real32_T Data_kd;
    boolean_T is_unit_1;
    boolean_T is_unit_2;
    boolean_T is_unit_3;
    boolean_T capt_priority_takeover_pressed;
    boolean_T fo_priority_takeover_pressed;
    boolean_T rudder_trim_left_pressed;
    boolean_T rudder_trim_right_pressed;
    boolean_T rudder_trim_reset_pressed;
    boolean_T pitch_trim_up_pressed;
    boolean_T pitch_trim_down_pressed;
    boolean_T rat_deployed;
    boolean_T rat_contactor_closed;
    boolean_T green_low_pressure;
    boolean_T yellow_low_pressure;
    boolean_T slew_on;
    boolean_T pause_on;
    boolean_T tracking_mode_on_override;
    boolean_T tailstrike_protection_on;
    boolean_T computer_running;
    boolean_T sec_overhead_button_pressed;
  };

  struct D_Work_A380SecComputer_T {
    real_T Delay_DSTATE;
    real_T Delay_DSTATE_c;
    real_T pY;
    real_T pU;
    real_T pY_e;
    boolean_T Delay_DSTATE_cc;
    boolean_T Delay1_DSTATE;
    boolean_T Delay_DSTATE_d;
    boolean_T Memory_PreviousInput;
    boolean_T Memory_PreviousInput_n;
    boolean_T Memory_PreviousInput_b;
    boolean_T icLoad;
    boolean_T icLoad_l;
    boolean_T pLeftStickDisabled;
    boolean_T pRightStickDisabled;
    boolean_T pY_not_empty;
    boolean_T pU_not_empty;
    boolean_T pY_not_empty_k;
    boolean_T Runtime_MODE;
    rtDW_MATLABFunction_A380SecComputer_e_T sf_MATLABFunction_mf;
    rtDW_MATLABFunction_A380SecComputer_e_T sf_MATLABFunction_ek;
    rtDW_MATLABFunction_A380SecComputer_e_T sf_MATLABFunction_nu;
    rtDW_MATLABFunction_A380SecComputer_e_T sf_MATLABFunction_g4;
    rtDW_MATLABFunction_A380SecComputer_c_T sf_MATLABFunction_j2;
    rtDW_MATLABFunction_A380SecComputer_c_T sf_MATLABFunction_g2;
    rtDW_MATLABFunction_A380SecComputer_c_T sf_MATLABFunction_bd;
    rtDW_MATLABFunction_A380SecComputer_c_T sf_MATLABFunction_mg;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_bh;
    rtDW_MATLABFunction_A380SecComputer_e_T sf_MATLABFunction_f;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_cd;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_p0;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_c;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_d;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_os;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_gz;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_j;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_p;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_a;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_g;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_bv;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_o;
    rtDW_RateLimiter_A380SecComputer_o_T sf_RateLimiter_e;
    rtDW_RateLimiter_A380SecComputer_T sf_RateLimiter_b;
    rtDW_RateLimiter_A380SecComputer_T sf_RateLimiter;
  };

  struct ExternalInputs_A380SecComputer_T {
    sec_inputs in;
  };

  struct ExternalOutputs_A380SecComputer_T {
    sec_outputs out;
  };

  struct Parameters_A380SecComputer_T {
    real_T LagFilter_C1;
    real_T DiscreteTimeIntegratorVariableTs_Gain;
    real_T DiscreteTimeIntegratorVariableTsLimit_Gain;
    real_T RateLimiterVariableTs2_InitialCondition;
    real_T RateLimiterVariableTs4_InitialCondition;
    real_T RateLimiterGenericVariableTs25_InitialCondition;
    real_T DiscreteTimeIntegratorVariableTs_LowerLimit;
    real_T DiscreteTimeIntegratorVariableTs_UpperLimit;
    real_T BitfromLabel6_bit;
    real_T BitfromLabel1_bit;
    real_T BitfromLabel3_bit;
    real_T BitfromLabel2_bit;
    real_T BitfromLabel6_bit_k;
    real_T BitfromLabel7_bit;
    real_T BitfromLabel1_bit_p;
    real_T BitfromLabel1_bit_g;
    real_T BitfromLabel2_bit_b;
    real_T BitfromLabel3_bit_l;
    real_T BitfromLabel4_bit;
    real_T BitfromLabel5_bit;
    real_T BitfromLabel6_bit_d;
    real_T BitfromLabel7_bit_j;
    real_T BitfromLabel8_bit;
    real_T BitfromLabel9_bit;
    real_T BitfromLabel10_bit;
    real_T BitfromLabel1_bit_j;
    real_T BitfromLabel2_bit_i;
    real_T BitfromLabel3_bit_i;
    real_T BitfromLabel4_bit_e;
    real_T BitfromLabel6_bit_l;
    real_T BitfromLabel7_bit_b;
    real_T BitfromLabel8_bit_d;
    real_T BitfromLabel9_bit_g;
    real_T BitfromLabel5_bit_e;
    real_T BitfromLabel10_bit_g;
    real_T BitfromLabel11_bit;
    real_T BitfromLabel12_bit;
    real_T BitfromLabel13_bit;
    real_T BitfromLabel1_bit_f;
    real_T BitfromLabel2_bit_a;
    real_T BitfromLabel3_bit_j;
    real_T BitfromLabel1_bit_o;
    real_T BitfromLabel2_bit_p;
    real_T BitfromLabel10_bit_i;
    real_T BitfromLabel8_bit_m;
    real_T BitfromLabel11_bit_l;
    real_T BitfromLabel12_bit_b;
    real_T BitfromLabel9_bit_o;
    real_T BitfromLabel15_bit;
    real_T BitfromLabel13_bit_o;
    real_T BitfromLabel14_bit;
    real_T BitfromLabel3_bit_o;
    real_T BitfromLabel4_bit_a;
    real_T BitfromLabel5_bit_c;
    real_T BitfromLabel6_bit_h;
    real_T BitfromLabel7_bit_i;
    real_T BitfromLabel9_bit_m;
    real_T BitfromLabel_bit;
    real_T BitfromLabel1_bit_d;
    real_T BitfromLabel3_bit_id;
    real_T BitfromLabel4_bit_m;
    real_T BitfromLabel_bit_k;
    real_T BitfromLabel6_bit_a;
    real_T BitfromLabel5_bit_j;
    real_T BitfromLabel1_bit_l;
    real_T BitfromLabel2_bit_k;
    real_T CompareToConstant_const;
    real_T CompareToConstant1_const;
    real_T CompareToConstant1_const_p;
    real_T CompareToConstant1_const_d;
    real_T RateLimiterGenericVariableTs_lo;
    real_T RateLimiterVariableTs2_lo;
    real_T RateLimiterGenericVariableTs_lo_o;
    real_T RateLimiterGenericVariableTs1_lo;
    real_T RateLimiterGenericVariableTs2_lo;
    real_T RateLimiterGenericVariableTs3_lo;
    real_T RateLimiterVariableTs4_lo;
    real_T RateLimiterGenericVariableTs25_lo;
    real_T RateLimiterGenericVariableTs8_lo;
    real_T RateLimiterGenericVariableTs9_lo;
    real_T RateLimiterGenericVariableTs10_lo;
    real_T RateLimiterGenericVariableTs11_lo;
    real_T RateLimiterGenericVariableTs6_lo;
    real_T RateLimiterGenericVariableTs7_lo;
    real_T RateLimiterGenericVariableTs_lo_f;
    real_T RateLimiterGenericVariableTs1_lo_c;
    real_T RateLimiterGenericVariableTs2_lo_k;
    real_T ConfirmNode_timeDelay;
    real_T ConfirmNode2_timeDelay;
    real_T ConfirmNode1_timeDelay;
    real_T ConfirmNode_timeDelay_a;
    real_T RateLimiterGenericVariableTs_up;
    real_T RateLimiterVariableTs2_up;
    real_T RateLimiterGenericVariableTs_up_l;
    real_T RateLimiterGenericVariableTs1_up;
    real_T RateLimiterGenericVariableTs2_up;
    real_T RateLimiterGenericVariableTs3_up;
    real_T RateLimiterVariableTs4_up;
    real_T RateLimiterGenericVariableTs25_up;
    real_T RateLimiterGenericVariableTs8_up;
    real_T RateLimiterGenericVariableTs9_up;
    real_T RateLimiterGenericVariableTs10_up;
    real_T RateLimiterGenericVariableTs11_up;
    real_T RateLimiterGenericVariableTs6_up;
    real_T RateLimiterGenericVariableTs7_up;
    real_T RateLimiterGenericVariableTs_up_a;
    real_T RateLimiterGenericVariableTs1_up_a;
    real_T RateLimiterGenericVariableTs2_up_l;
    SignStatusMatrix EnumeratedConstant1_Value;
    boolean_T SRFlipFlop1_initial_condition;
    boolean_T SRFlipFlop_initial_condition;
    boolean_T SRFlipFlop_initial_condition_i;
    boolean_T ConfirmNode_isRisingEdge;
    boolean_T ConfirmNode2_isRisingEdge;
    boolean_T PulseNode_isRisingEdge;
    boolean_T PulseNode1_isRisingEdge;
    boolean_T ConfirmNode1_isRisingEdge;
    boolean_T ConfirmNode_isRisingEdge_j;
    boolean_T PulseNode1_isRisingEdge_m;
    boolean_T PulseNode2_isRisingEdge;
    boolean_T PulseNode_isRisingEdge_m;
    int8_T CompareToConstant2_const;
    int8_T CompareToConstant5_const;
    int8_T CompareToConstant3_const;
    int8_T CompareToConstant4_const;
    int8_T CompareToConstant_const_l;
    int8_T CompareToConstant_const_f;
    int8_T CompareToConstant1_const_p2;
    int8_T CompareToConstant_const_fl;
    int8_T CompareToConstant2_const_f;
    int8_T CompareToConstant_const_fs;
    int8_T CompareToConstant1_const_c;
    sec_outputs out_Y0;
    base_sec_out_bus Constant4_Value;
    base_sec_logic_outputs Constant1_Value;
    real_T Constant5_Value;
    real_T Constant6_Value;
    real_T Constant9_Value;
    real_T Constant8_Value;
    real_T Constant2_Value;
    real_T Constant1_Value_f;
    real_T Constant2_Value_l;
    real_T Constant3_Value;
    real_T Constant2_Value_m;
    real_T Constant_Value;
    real_T Gain_Gain;
    real_T Saturation_UpperSat;
    real_T Saturation_LowerSat;
    real_T Constant10_Value;
    real_T Constant11_Value;
    real_T Constant12_Value;
    real_T Constant13_Value;
    real_T Constant15_Value;
    real_T Constant1_Value_n;
    real_T Constant2_Value_k;
    real_T Constant3_Value_g;
    real_T Constant4_Value_i;
    real_T Constant5_Value_n;
    real_T Constant6_Value_f;
    real_T Constant7_Value;
    real_T Constant8_Value_p;
    real_T Constant9_Value_n;
    real_T Constant_Value_b;
    real_T Constant_Value_p;
    real_T Saturation_UpperSat_d;
    real_T Saturation_LowerSat_h;
    real_T Constant1_Value_p;
    real_T Saturation1_UpperSat;
    real_T Saturation1_LowerSat;
    real_T Constant_Value_c;
    real_T Gain_Gain_e;
    real_T Saturation2_UpperSat;
    real_T Saturation2_LowerSat;
    real_T Saturation1_UpperSat_o;
    real_T Saturation1_LowerSat_n;
    real_T Gain3_Gain;
    real_T Saturation3_UpperSat;
    real_T Saturation3_LowerSat;
    real_T Saturation4_UpperSat;
    real_T Saturation4_LowerSat;
    real_T Constant_Value_a;
    real32_T Gain_Gain_e0;
    real32_T Gain1_Gain;
    real32_T Gain2_Gain;
    real32_T Gain3_Gain_o;
    real32_T Gain4_Gain;
    boolean_T Constant1_Value_b;
    boolean_T Constant_Value_ad;
    boolean_T Constant_Value_bg;
    boolean_T Delay_InitialCondition;
    boolean_T Delay1_InitialCondition;
    boolean_T Delay_InitialCondition_d;
    boolean_T Logic_table[16];
    boolean_T Logic_table_i[16];
    boolean_T Logic_table_f[16];
    boolean_T Constant7_Value_h;
    boolean_T reset_Value;
    boolean_T Constant1_Value_f3;
    boolean_T Constant16_Value;
    boolean_T Constant17_Value;
    boolean_T Constant18_Value;
    boolean_T Constant19_Value;
    boolean_T Constant21_Value;
    boolean_T Constant22_Value;
  };

  A380SecComputer(A380SecComputer const&) = delete;
  A380SecComputer& operator= (A380SecComputer const&) & = delete;
  A380SecComputer(A380SecComputer &&) = delete;
  A380SecComputer& operator= (A380SecComputer &&) = delete;
  void setExternalInputs(const ExternalInputs_A380SecComputer_T *pExternalInputs_A380SecComputer_T)
  {
    A380SecComputer_U = *pExternalInputs_A380SecComputer_T;
  }

  const ExternalOutputs_A380SecComputer_T &getExternalOutputs() const
  {
    return A380SecComputer_Y;
  }

  void initialize();
  void step();
  static void terminate();
  A380SecComputer();
  ~A380SecComputer();
 private:
  ExternalInputs_A380SecComputer_T A380SecComputer_U;
  ExternalOutputs_A380SecComputer_T A380SecComputer_Y;
  BlockIO_A380SecComputer_T A380SecComputer_B;
  D_Work_A380SecComputer_T A380SecComputer_DWork;
  static Parameters_A380SecComputer_T A380SecComputer_P;
  static void A380SecComputer_RateLimiter_Reset(rtDW_RateLimiter_A380SecComputer_T *localDW);
  static void A380SecComputer_RateLimiter(real_T rtu_u, real_T rtu_up, real_T rtu_lo, real_T rtu_Ts, real_T rtu_init,
    real_T *rty_Y, rtDW_RateLimiter_A380SecComputer_T *localDW);
  static void A380SecComputer_RateLimiter_j_Reset(rtDW_RateLimiter_A380SecComputer_o_T *localDW);
  static void A380SecComputer_RateLimiter_e(real_T rtu_u, real_T rtu_up, real_T rtu_lo, real_T rtu_Ts, real_T rtu_init,
    boolean_T rtu_reset, real_T *rty_Y, rtDW_RateLimiter_A380SecComputer_o_T *localDW);
  static void A380SecComputer_MATLABFunction(const base_arinc_429 *rtu_u, boolean_T *rty_y);
  static void A380SecComputer_MATLABFunction_d(const base_arinc_429 *rtu_u, real_T rtu_bit, uint32_T *rty_y);
  static void A380SecComputer_MATLABFunction_p_Reset(rtDW_MATLABFunction_A380SecComputer_e_T *localDW);
  static void A380SecComputer_MATLABFunction_f(boolean_T rtu_u, boolean_T rtu_isRisingEdge, boolean_T *rty_y,
    rtDW_MATLABFunction_A380SecComputer_e_T *localDW);
  static void A380SecComputer_MATLABFunction_k_Reset(rtDW_MATLABFunction_A380SecComputer_c_T *localDW);
  static void A380SecComputer_MATLABFunction_m(boolean_T rtu_u, real_T rtu_Ts, boolean_T rtu_isRisingEdge, real_T
    rtu_timeDelay, boolean_T *rty_y, rtDW_MATLABFunction_A380SecComputer_c_T *localDW);
  static void A380SecComputer_MATLABFunction_e(const boolean_T rtu_u[19], real32_T *rty_y);
  A380LateralDirectLaw LawMDLOBJ1;
  A380PitchDirectLaw LawMDLOBJ2;
};

#endif

